//
//  clock_os.h
//  electronic_clock
//
//  Created by fukai on 2018/10.
//  Copyright © 2018年 赛博智能车实验室. All rights reserved.
//

#ifndef clock_os_h
#define clock_os_h

#include "clock_lib.h"


//电子钟系统界面显示状态
typedef enum
{
	MAIN_INTERFACE = 0,//主界面
	MENU,	//菜单界面
	CLOCK_SET,	//时钟设置
	ALARM_SET,	//闹钟设置
	STOP_WATCH,	//秒表
	TIMER_SET,	//计时器设置
	INFO,//制作者信息
}ClockDisplayStatusNode;


//电子钟菜单选择指向
typedef enum
{
	MENU_CLOCK_SET = 2,//时间设置
	MENU_ALARM_SET,//闹钟设置
	MENU_STOP_WATCH,//秒表
	MENU_TIMER_SET,//计时器设置
}ClockMenuSelectNode;

//时间设置选择指向
typedef enum
{
	TIME_HOUR_SET = 10,
	TIME_MINUTE_SET,
	TIME_SECOND_SET,
	TIME_WEEK_SET,
	TIME_YEAR_SET,
	TIME_MONTH_SET,
	TIME_DATE_SET,
}ClockTimeSetSelectNode;

//闹钟设置选择指向
typedef enum
{
	CLK_ALARM_HOUR_SET = 20,
	CLK_ALARM_MINUTE_SET,
}ClockAlarmSetSelectNode;

//计时器设置选择指向
typedef enum
{
	CLK_TIMER_HOUR_SET = 30,
	CLK_TIMER_MINUTE_SET,
	CLK_TIMER_SECOND_SET,
}ClockTimerSetSelectNode;


//闪烁显示标志
typedef enum
{
	APPEAR,//显示
	DISAPPEAR,//消失
}FlickerFlagNode;

typedef struct
{
	ClockDisplayStatusNode ClockDisplayStatus;	//电子钟系统界面显示状态
	ClockMenuSelectNode ClockMenuSelect;		//电子钟菜单选择指向
	ClockTimeSetSelectNode ClockTimeSetSelect;	//时间设置选择指向
	ClockAlarmSetSelectNode ClockAlarmSetSelect;//闹钟设置选择指向
	ClockTimerSetSelectNode ClockTimerSetSelect;//计时器设置选择指向
	
	FlickerFlagNode FlickerFlag;//闪烁显示标志
}ClockDisplayNode;


void UserInterface(void);//用户界面显示
void FlickerShow(int times);//闪烁显示标志切换

extern ClockNode Clock;
extern ClockDisplayNode ClockDisplay;




#endif


